/**
 * @file AddLayerCommand.hpp
 *
 * @date 29/12/2011
 * @author Tales 
 *
 */

#ifndef _MODEL_ADDLAYERCOMMAND_HPP_
#define _MODEL_ADDLAYERCOMMAND_HPP_

#include "Command.hpp"

namespace yep
{

/**
 * @brief Comando de adicionar camada
 */
class AddLayerCommand : public Command
{
public:
	/**
	 * @brief Adiciona uma camada
	 * @param pos a posição. Se menor que zero, insere no fim
	 * @param src a superfície da nova camada. Se nula, cria uma nova.
	 */
	AddLayerCommand(int pos = -1, SDL_Surface *src= NULL);

	void execute(PictureState &state);
private:
	int position;
	SDL_Surface *source;
};

} /* namespace yep */
#endif /* _MODEL_ADDLAYERCOMMAND_HPP_ */
